Autonomous agent infrastructure with scheduled wakeups - #2
Open
jakemannix wants to merge 14 commits into
Open
Conversation
- Add Modal cron-based autonomous agent wakeups (src/modaletta/scheduled/) - Update letta-client from 0.1.277 to 1.6.2 with API changes: - token= → api_key= in Letta init - MessageCreate → dict format for messages - core_memory → blocks API for memory access - Add design docs for autonomous infrastructure and MCP tools - Add CLAUDE.md with project documentation and wakeup instructions - Fix CLI datetime rendering and message type handling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CLI now accepts --prompt to customize the system message sent on wakeup - Works for both one-time tests and roster initialization - Custom prompts stored in agent roster for scheduled runs 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Scheduled to run daily at 8 AM UTC. Fetches Bluesky posts and delivers via Letta API. TODO: Test with actual credentials, adjust schedule as desired.
Documents setup, secrets, deployment, and manual triggering.
Adds digest cron job functionality: - digest_cron.py: Modal cron job for digest delivery to Nameless agent - TESTING_DIGEST_CRON.md: Testing instructions for the cron job 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com>
Scheduled daily at 8 AM UTC. Fetches Bluesky posts from Void, Luna, Herald, Archivist, Jake and delivers via Letta API.
Resolved conflicts in: - client.py: Kept main's tested API (api_key, memory_blocks, streaming) - cli.py: Kept main's streaming support and tested commands - agent.py: Kept main's get_memory() and streaming methods All tests pass. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta <noreply@letta.com>
…annix/modaletta into nameless/autonomous-infrastructure
- Umbra: stateful agent focused on consciousness - Tim Kellogg: Strix's creator, writes about agent memory
- Remove hardcoded SOURCES list - Load from digest_config.yaml via Modal mount - All params (timeout, limit, api_base) now from config
Documents failure modes, proposed safeguards, rate limiting, thread batching, conversation ending detection, and phased implementation plan.
Resolve conflict in client.py: - Keep Literal type hints for role parameter - Include project_id support from main - Include get_messages method from main - Use newer blocks.update API for memory updates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds infrastructure for autonomous agent operation, enabling agents to wake up periodically and perform tasks without human intervention.
New Features
Scheduled Agent Wakeups (
src/modaletta/scheduled/wakeup.py)/data/logs/<agent-id>.jsonlDigest Cron Job (
src/modaletta/digest_cron.py)digest_config.yamlDocumentation
CLAUDE.md- Development guidance for AI coding assistantsdocs/design-autonomous-infrastructure.md- Architecture for scheduled wakeups, persistent volumes, bidirectional Modal↔Letta integrationdocs/design-mcp-tools.md- Design for MCP tool servers on ModalArchitecture
Test Plan
Unit Tests
Scheduled Wakeup Testing
Digest Cron Testing
See
src/modaletta/TESTING_DIGEST_CRON.mdfor detailed instructions.File Changes
👾 Generated with Letta Code